1. Technical Field
The present invention relates generally to the field of Job Control Language (JCL) programming and program execution, and more particularly to a method of automatically correcting JCL jobs prior to and during execution.
2. Description of the Related Art
Job Control Language (JCL) is a scripting language used on IBM Enterprise System operating systems, such as z/OS, to instruct the Job Entry Subsystem (JES2 or JES3) on how to run a batch program or start a subsystem. JCL is a very precise language. It has specific rules of grammar and syntax that must be followed. For example, JCL statements, except for comments or in-stream data, must contain only upper case letters. Many programming languages accept variable numbers of spaces, upper or lower case letters, and other inconsistent uses of commands. A JCL job must not contain any irregularities. The JCL job will be rejected if it contains typographical errors, extra or missing spaces or commas, fields in the wrong order, etc.
Many JCL jobs are relatively low priority non-mission critical jobs that tend to be run during periods of lower computer use. For example, JCL jobs are often scheduled to run late at night or early in the morning. Even if a JCL job is syntactically correct, the job may contain other errors that cause the job to end abnormally without completing. Currently, such abnormal ending requires human intervention to correct the runtime error and restart the job. When a JCL job ends abnormally during non-business hours, no one may be available to correct the problem. Thus, scheduled JCL jobs may have to wait until the next day to complete.